home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-04 / gs24src.zip / VMS-CC.MAK < prev    next >
Text File  |  1992-03-25  |  7KB  |  272 lines

  1. $ !    Copyright (C) 1989, 1992 Aladdin Enterprises.  All rights reserved.
  2. $ !    Distributed by Free Software Foundation, Inc.
  3. $ !
  4. $ ! This file is part of Ghostscript.
  5. $ !
  6. $ ! Ghostscript is distributed in the hope that it will be useful, but
  7. $ ! WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  8. $ ! to anyone for the consequences of using it or for whether it serves any
  9. $ ! particular purpose or works at all, unless he says so in writing.  Refer
  10. $ ! to the Ghostscript General Public License for full details.
  11. $ !
  12. $ ! Everyone is granted permission to copy, modify and redistribute
  13. $ ! Ghostscript, but only under the conditions described in the Ghostscript
  14. $ ! General Public License.  A copy of this license is supposed to have been
  15. $ ! given to you along with Ghostscript so you can know your rights and
  16. $ ! responsibilities.  It should be in a file named COPYING.  Among other
  17. $ ! things, the copyright notice and this notice must be preserved on all
  18. $ ! copies.
  19. $ !
  20. $ !
  21. $ ! "makefile" for Ghostscript, VMS / VMS C / DECwindows (X11) configuration.
  22. $ !
  23. $ !
  24. $ ! Execute this command file while in the GhostScript directory!
  25. $ !
  26. $ !
  27. $ ! To build a debugging configuration, issue the command:
  28. $ !
  29. $ !          $ @VMS-CC.MAK DEBUG
  30. $ !
  31. $ ! Do not  abbreviate "DEBUG".  To specify an alternate directory for
  32. $ ! GS_LIB_DEFAULT, issue the command:
  33. $ !
  34. $ !          $ @VMS-CC.MAK directory
  35. $ !
  36. $ ! with "directory" a fully qualified directory name.  "directory" cannot
  37. $ ! be DEBUG (otherwise it will be confused with the DEBUG switch).  Both
  38. $ ! the DEBUG switch and a directory name may be specified on the same
  39. $ ! command line and in either order.
  40. $ !
  41. $ CDEF = ""
  42. $ LDEF = ""
  43. $ !
  44. $ GS_INIT = "GS_INIT.PS"
  45. $ GS_LIB_DEFAULT = F$ENVIRONMENT("DEFAULT")
  46. $ IF P1 .NES. "" .AND. P1 .NES. "DEBUG" THEN GS_LIB_DEFAULT = P1
  47. $ IF P2 .NES. "" .AND. P2 .NES. "DEBUG" THEN GS_LIB_DEFAULT = P2
  48. $ !
  49. $ IF P1 .NES. "DEBUG" .AND. P2 .NES. "DEBUG" THEN GOTO NODEBUG
  50. $ CDEF = "/DEFINE=(""DEBUG"")/NOOPTIMIZE/DEBUG"
  51. $ LDEF = "/DEBUG"
  52. $ !
  53. $ NODEBUG:
  54. $ !
  55. $ ! Give ourself a healthy search list for C include files
  56. $ !
  57. $ DEFINE C$INCLUDE 'F$ENVIRONMENT("DEFAULT"),DECW$INCLUDE,SYS$LIBRARY
  58. $ DEFINE VAXC$INCLUDE C$INCLUDE
  59. $ DEFINE SYS SYS$LIBRARY
  60. $ !
  61. $ !
  62. $ ! Build the ANSI C to Kernighan & Ritchie filter
  63. $ !
  64. $ CC/NOLIST/OBJECT=ANSI2KNR.OBJ ANSI2KNR.C
  65. $ LINK/NOMAP/EXE=ANSI2KNR.EXE ANSI2KNR,SYS$INPUT/OPT
  66. SYS$SHARE:DECW$XLIBSHR/SHARE
  67. $ DELETE ANSI2KNR.OBJ.*
  68. $ !
  69. $ ! Now define an ansi2knr symbol
  70. $ !
  71. $ ANSI2KNR = "$" + F$ENVIRONMENT("DEFAULT") + "ANSI2KNR.EXE"
  72. $ !
  73. $ !
  74. $ ! Compile genarch.c and then run it to create the arch.h header file
  75. $ !
  76. $ CC/NOLIST/OBJECT=GENARCH.OBJ GENARCH.C
  77. $ LINK/NOMAP/EXE=GENARCH.EXE GENARCH,SYS$INPUT/OPT
  78. SYS$SHARE:VAXCRTL/SHARE
  79. $ GENARCH = "$" + F$ENVIRONMENT("DEFAULT") + "GENARCH.EXE"
  80. $ GENARCH ARCH.H
  81. $ DELETE GENARCH.EXE.*,GENARCH.OBJ.*
  82. $ PURGE ARCH.H
  83. $ !
  84. $ !
  85. $ ! Create a minimal gconfig.h and gconfig.ps
  86. $ !
  87. $ CREATE GCONFIG.H
  88. device_(gs_x11_device)
  89. $ !
  90. $ CREATE GCONFIG.PS
  91. %
  92. $ !
  93. $ ! Create an empty object library
  94. $ !
  95. $ LIBRARY/CREATE GS.OLB
  96. $ !
  97. $ !
  98. $ ! Create a list of modules to compile and store in the object library
  99. $ !
  100. $ CREATE MODULES.LIS
  101. GDEVMEM1
  102. GDEVMEM2
  103. GP_VMS
  104. GSCHAR
  105. GSCHAR0
  106. GSCOLOR
  107. GSCOORD
  108. GSDEVICE
  109. GSDPS1
  110. GSFILE
  111. GSFONT
  112. GSIM2OUT
  113. GSIMAGE
  114. GSLINE
  115. GSMATRIX
  116. GSMISC
  117. GSPAINT
  118. GSPATH
  119. GSPATH2
  120. GSSTATE
  121. GSTDEV
  122. GSTYPE1
  123. GSUTIL
  124. GXCACHE
  125. GXCLIST
  126. GXCOLOR
  127. GXCPATH
  128. GXDITHER
  129. GXDRAW
  130. GXFILL
  131. GXHT
  132. GXPATH
  133. GXPATH2
  134. GXSTROKE
  135. IALLOC
  136. IBNUM
  137. IBSCAN
  138. ICCFONT
  139. IDEBUG
  140. IDICT
  141. IINIT
  142. INAME
  143. INTERP
  144. ISAVE
  145. ISCAN
  146. IUTIL
  147. SFILTER
  148. SFILTER2
  149. STREAM
  150. ZARITH
  151. ZARRAY
  152. ZBSEQ
  153. ZCHAR
  154. ZCOLOR
  155. ZCONTROL
  156. ZDEVICE
  157. ZDICT
  158. ZDPS1
  159. ZFILE
  160. ZFILEIO
  161. ZFILTER
  162. ZFILTER2
  163. ZFONT
  164. ZFONT0
  165. ZFONT1
  166. ZFONT2
  167. ZGENERIC
  168. ZGSTATE
  169. ZHT
  170. ZMATH
  171. ZMATRIX
  172. ZMISC
  173. ZPACKED
  174. ZPAINT
  175. ZPATH
  176. ZPATH2
  177. ZPROPS
  178. ZRELBIT
  179. ZSTACK
  180. ZSTRING
  181. ZTYPE
  182. ZUPATH
  183. ZVMEM
  184. $ !
  185. $ !
  186. $ ! NOW COMPILE AWAY!
  187. $ !
  188. $ OPEN/READ MODULE_LIST MODULES.LIS
  189. $ !
  190. $ COMPILE_LOOP:
  191. $ READ/END=END_COMPILE MODULE_LIST MODULE
  192. $ ANSI2KNR 'MODULE'.C 'MODULE'.CC
  193. $ CC'CDEF/NOLIST/OBJECT='MODULE'.OBJ 'MODULE'.CC
  194. $ LIBRARY/INSERT GS.OLB 'MODULE'.OBJ
  195. $ DELETE 'MODULE'.OBJ.*
  196. $ IF CDEF .EQS. "" THEN DELETE 'MODULE'.CC.*
  197. $ GOTO COMPILE_LOOP
  198. $ !
  199. $ END_COMPILE:
  200. $ CLOSE MODULE_LIST
  201. $ DELETE MODULES.LIS.*
  202. $ !
  203. $ !
  204. $ ! Is the DECwindows environment about?  Must be installed in order to
  205. $ ! build the executable programs gs.exe, gt.exe, and xlib.exe.
  206. $ !
  207. $ IF F$SEARCH("SYS$SHARE:DECW$XLIBSHR.EXE") .NES. "" THEN GOTO CHECK2
  208. $ WRITE SYS$OUTPUT "DECwindows user environment not installed;"
  209. $ WRITE SYS$OUTPUT "unable to build executable programs."
  210. $ GOTO DONE
  211. $ !
  212. $ CHECK2:
  213. $ IF F$TRNLNM("DECW$INCLUDE") .NES. "" THEN GOTO BUILD_EXES
  214. $ WRITE SYS$OUTPUT "You must invoke @DECW$STARTUP before using this"
  215. $ WRITE SYS$OUTPUT "command procedure to build the executable programs."
  216. $ GOTO DONE
  217. $ !
  218. $ ! Build the executables
  219. $ !
  220. $ BUILD_EXES:
  221. $ !
  222. $ DEFINE X11 DECW$INCLUDE
  223. $ !
  224. $ ANSI2KNR GCONFIG.C GCONFIG.CC
  225. $ LIBDEF = """GS_LIB_DEFAULT=""""" + ''GS_LIB_DEFAULT' + """"""""
  226. $ INIDEF = """GS_INIT=""""" + ''GS_INIT' + """"""""
  227. $ CC'CDEF/NOLIST/DEFINE=('LIBDEF','INIDEF')/OBJECT=GCONFIG.OBJ GCONFIG.CC
  228. $ !
  229. $ ANSI2KNR GDEVXINI.C GDEVXINI.CC
  230. $ CC'CDEF/NOLIST/OBJECT=GDEVXINI.OBJ GDEVXINI.CC
  231. $ !
  232. $ ANSI2KNR GDEVX.C GDEVX.CC
  233. $ CC'CDEF/NOLIST/OBJECT=GDEVX.OBJ GDEVX.CC
  234. $ !
  235. $ ANSI2KNR GSMAIN.C GSMAIN.CC
  236. $ CC'CDEF/NOLIST/OBJECT=GSMAIN.OBJ GSMAIN.CC
  237. $ !
  238. $ ANSI2KNR UTRACE.C UTRACE.CC
  239. $ CC'CDEF/NOLIST/OBJECT=UTRACE.OBJ UTRACE.CC
  240. $ !
  241. $ ! 
  242. $ ! GSMAIN and UTRACE are tossed into the GT link so that when a
  243. $ ! debugging configuration is built, the gs_log_error and gs_exit
  244. $ ! routines will be defined.
  245. $ !
  246. $ ANSI2KNR GS.C GS.CC
  247. $ CC'CDEF/NOLIST/OBJECT=GS.OBJ GS.CC
  248. $ LINK'LDEF/NOMAP/EXE=GS.EXE GS,GSMAIN,UTRACE,GDEVX,GDEVXINI,GCONFIG,-
  249.   GS/LIB/INCLUDE=(GDEVMEM1,GDEVMEM2,GXCLIST,-
  250.   ZARITH,ZARRAY,ZBSEQ,ZCHAR,ZCOLOR,ZCONTROL,ZDEVICE,ZDPS1,-
  251.   ZDICT,ZFILE,ZFILEIO,ZFILTER,ZFILTER2,ZFONT,ZFONT0,ZFONT1,ZFONT2,-
  252.   ZGENERIC,ZGSTATE,ZHT,ZMATH,ZMATRIX,ZMISC,ZPACKED,ZPAINT,ZPATH,ZPATH2,-
  253.   ZPROPS,ZRELBIT,ZSTACK,ZSTRING,ZTYPE,ZUPATH,ZVMEM),SYS$INPUT/OPT
  254. SYS$SHARE:DECW$DWTLIBSHR/SHARE
  255. $ !
  256. $ DELETE GDEVX.OBJ.*,GDEVXINI.OBJ.*,GSMAIN.OBJ.*,UTRACE.OBJ.*,GS.OBJ.*,-
  257.          GCONFIG.OBJ.*
  258. $ IF CDEF .EQS. "" THEN -
  259.   DELETE GDEVX.CC.*,GDEVXINI.CC.*,GSMAIN.CC.*,UTRACE.CC.*,GS.CC.*,GCONFIG.CC.*
  260. $ !
  261. $ DELETE ANSI2KNR.EXE.*
  262. $ !
  263. $ DEASSIGN X11
  264. $ !
  265. $ DONE:
  266. $ !
  267. $ DEASSIGN C$INCLUDE
  268. $ DEASSIGN VAXC$INCLUDE
  269. $ DEASSIGN SYS
  270. $ !
  271. $ ! ALL DONE
  272.